package com.hsmw.schedule.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hsmw.common.base.BaseMapper;
import com.hsmw.domain.HsmwHelpCenter;
import com.hsmw.domain.HsmwUserDriver;
import com.hsmw.domain.vo.DriverDetailVO;
import com.hsmw.schedule.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * @author WD
 */
@Repository
public interface HsmwUserDriverMapper extends BaseMapper<HsmwUserDriver> {


	public List<TaskingOrderVO> taskingOrderList(HashMap param);


	IPage<DriverInfoVO> getBizHsmwDriverPage(IPage page, @Param("driverInfoVO") DriverInfoVO driverInfoVO);

	Page<DriverInfoVO> getDriverDataCollectVO(IPage page, @Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("username") String username,  @Param("username")String name);


	public int removeExtralOrders(HashMap param);



	public HsmwUserDriver  selectDriverInfoByUserId(HashMap param);

    List<PeerDriverVO> orderPeerDrivers(HashMap param);

	List<TaskingOrderVO> getDriversByOrderId(HashMap param);

    DriveTotalInfoVO getDriverTotalInfo(HashMap param);

	List<TaskingOrderVO> queryHideOrderInfo(HashMap param);

    DriveTotalInfoVO getAndroDriverTotalInfo(HashMap param);

	boolean deleteUserDriverById(String userId);

    void resetVehicleBindDrivers(HashMap param);

	List<DriverInfoDTO> selectDriversList(HashMap param);


	List<DriverInfoDTO> selectAllDriversList(HashMap param);

	List<com.hsmw.domain.vo.DriverCountVO> findUserDriverListBYVehicleId(String vehicleId);

    List<DriverDetailVO> findDriverListById(String vehicleId);

    List<DriverAndVehicleVO> findDriverInfoList(String id);

	List<DriverAndVehicleVO> findUserNameByVehicleId(String driverId);

	List<RelationOrderVo> findRelationOrderListByDriId(String id,String month);

	List<HomeVolume> findItemPerOnWeek(String id);

	List<HomeVolume> findItemPerOnMonth(String id,String month);

	List<HomeVolume> findVehicleVolumeByMonth(String id, String month);

	List<DriverDetailVO> findDriverListByRelatId(String id);

	List<DriverAndVehicleVO> findUserNameByVehicleIds(String vehicleId);

    QueryOrderDetailVO queryOrderInfoById(String id);

    List<HsmwHelpCenter> selectHelpInfoList();

	List<HsmwHelpCenter> selectTopHelpInfoList();
}
